package com.ruoyi.warehouse.service;

import java.util.List;
import com.ruoyi.warehouse.domain.WWarehouseFeeAccount;

/**
 * 仓储记账Service接口
 * 
 * @author wzy
 * @date 2024-08-28 11:25:24
 */
public interface IWWarehouseFeeAccountService 
{
    /**
     * 查询仓储记账
     * 
     * @param warehouseFeeAccountId 仓储记账主键
     * @return 仓储记账
     */
    public WWarehouseFeeAccount selectWWarehouseFeeAccountByWarehouseFeeAccountId(Long warehouseFeeAccountId);

    /**
     * 查询仓储记账列表
     * 
     * @param wWarehouseFeeAccount 仓储记账
     * @return 仓储记账集合
     */
    public List<WWarehouseFeeAccount> selectWWarehouseFeeAccountList(WWarehouseFeeAccount wWarehouseFeeAccount);

    /**
     * 新增仓储记账
     * 
     * @param wWarehouseFeeAccount 仓储记账
     * @return 结果
     */
    public int insertWWarehouseFeeAccount(WWarehouseFeeAccount wWarehouseFeeAccount);

    /**
     * 修改仓储记账
     * 
     * @param wWarehouseFeeAccount 仓储记账
     * @return 结果
     */
    public int updateWWarehouseFeeAccount(WWarehouseFeeAccount wWarehouseFeeAccount);

    /**
     * 批量删除仓储记账
     * 
     * @param warehouseFeeAccountIds 需要删除的仓储记账主键集合
     * @return 结果
     */
    public int deleteWWarehouseFeeAccountByWarehouseFeeAccountIds(Long[] warehouseFeeAccountIds);

    /**
     * 删除仓储记账信息
     * 
     * @param warehouseFeeAccountId 仓储记账主键
     * @return 结果
     */
    public int deleteWWarehouseFeeAccountByWarehouseFeeAccountId(Long warehouseFeeAccountId);

    /**
     * 删除仓储记账信息
     *
     * @param warehouseFeeAccountNumber 仓储记账主键
     * @return 结果
     */
    public int deleteWWarehouseFeeAccountByWarehouseFeeAccountNumber(String warehouseFeeAccountNumber);

    /**
     * 重算仓储记账信息
     *
     * @param exitWarehouseNumber 出库单号
     * @return 结果
     */
    public int recalculateWWarehouseFeeAccountByExitWarehouseNumber(String exitWarehouseNumber);
}
